package org.cht.dao;

import org.cht.model.Developer;
import org.cht.model.Technology;

import java.util.List;

/**
 * Copyright (C) 2007 Cape Henry Technologies Inc.
 * <p/>
 * This program is open software. It is licensed using the Apache Software
 * Foundation, version 2.0 January 2004
 * <p/>
 * <a href="mailto:dlwhitehurst@gmail.com">dlwhitehurst@gmail.com</a>
 *
 * @author David L. Whitehurst
 * @version 1.0
 */
public interface DeveloperDao extends GenericDao<Developer, Long> {
    /**
     * Gets the complete list of developers ordered by name.
     *
     * @return List populated list of developers
     */
    List<Developer> getDevelopers();


    /**
     * Gets the list of developers by technology (key)
     *
     * @param name
     * @return List populated list of developers
     */
    List<Developer> getDevelopersByTechnology(String name);



    /**
     * Saves a developer's information.
     * @param developer the object to be saved
     * @return the persisted Developer object
     */
    Developer saveDeveloper(Developer developer);

}
